
#[include timelapse.cfg] # если еще не настроили таймлапсы то будет ошбку выдавать. на первое время можно закоментировать.
#[include macro.cfg] # если не копировали этот файл то тоже закоментить

# датчик филамента
[filament_switch_sensor filament_detection]
pause_on_runout: True
#   When set to True, a PAUSE will execute immediately after a runout
#   is detected. Note that if pause_on_runout is False and the
#   runout_gcode is omitted then runout detection is disabled. Default
#   is True.
#runout_gcode:
#   A list of G-Code commands to execute after a filament runout is
#   detected. See docs/Command_Templates.md for G-Code format. If
#   pause_on_runout is set to True this G-Code will run after the
#   PAUSE is complete. The default is not to run any G-Code commands.
#insert_gcode:
#   A list of G-Code commands to execute after a filament insert is
#   detected. See docs/Command_Templates.md for G-Code format. The
#   default is not to run any G-Code commands, which disables insert
#   detection.
#event_delay: 3.0
#   The minimum amount of time in seconds to delay between events.
#   Events triggered during this time period will be silently
#   ignored. The default is 3 seconds.
#pause_delay: 0.5
#   The amount of time to delay, in seconds, between the pause command
#   dispatch and execution of the runout_gcode. It may be useful to
#   increase this delay if OctoPrint exhibits strange pause behavior.
#   Default is 0.5 seconds.
switch_pin: PA4
#   The pin on which the switch is connected. This parameter must be
#   provided.

#если у вас стоковая лента раскоментируйте три строки ниже и закоментируйте раздел [neopixel printhead] со всеми параметрами. 

#[output_pin caselight]
#pin: !PE6
#value: 1
[neopixel printhead]
pin: PE6
#   The pin connected to the neopixel. This parameter must be
#   provided.
chain_count: 3
#   The number of Neopixel chips that are "daisy chained" to the
#   provided pin. The default is 1 (which indicates only a single
#   Neopixel is connected to the pin).
color_order: GRB
#   Set the pixel order required by the LED hardware (using a string
#   containing the letters R, G, B, W with W optional). Alternatively,
#   this may be a comma separated list of pixel orders - one for each
#   LED in the chain. The default is GRB.
initial_RED: 0.15
initial_GREEN: 0.15
initial_BLUE: 0.15
#   See the "led" section for information on these parameters

[output_pin _Zummer]    # Если убрать подчеркивание из имени то выключатель станет видимым в панели(тогда не забудьте убрать подчеркивание из макроса ниже)
pin: PA2 
[gcode_macro beep]
gcode:
  SET_PIN PIN=_Zummer VALUE=1   # в завершающем коде слайсера напиши в конце beep 
  G4 P5000                      # и тогда после окончания печати он тебе пикнет 4 раза. это 5 секунд работы,
  SET_PIN PIN=_Zummer VALUE=0   # если хочется побольше то вместо 5000 поставь например 10000 будет пищать 10 секунд можно также вставить на замену филамента. на начало печати.

### раскомментируйте если установили модель чистки сопла 
#[gcode_macro Clean_nozle]
#gcode:
#   G1 X1 Y20 F10000 
#   G1 X1 Y130 F10000
#   G1 X1 Y70 F10000
#   G1 X1 Y130 F10000
#   G1 X1 Y70 F10000
#   G1 X1 Y130 F10000
#   G1 X1 Y20 F10000



#если у вас стоковая лед лента то этот раздел тоже нужно закоментрировать тут неопиксель подключен в разъем 3дтача
#[neopixel my_neopixel]
#pin: PA8
#   The pin connected to the neopixel. This parameter must be
#   provided.
#chain_count: 27
#   The number of Neopixel chips that are "daisy chained" to the
#   provided pin. The default is 1 (which indicates only a single
#   Neopixel is connected to the pin).
#color_order: GRB
#   Set the pixel order required by the LED hardware (using a string
#   containing the letters R, G, B, W with W optional). Alternatively,
#   this may be a comma separated list of pixel orders - one for each
#   LED in the chain. The default is GRB.
#initial_RED: 0.5
#initial_GREEN: 0.5
#initial_BLUE: 0.5
#initial_WHITE: 0.5
#   See the "led" section for information on these parameters.
### как ни странно инпутшейпинг такой неплохо работает на стоковой голове, нуждается в корректировке но работает.
[input_shaper]
shaper_type_x = ei
shaper_freq_x = 55
shaper_type_y = ei
shaper_freq_y = 70

########## cam Fan #########  вентилятор отсоса из камеры, пока не завязан ни на какие события, нуждается в макросах или дополнительных датчиках. в работе.
[fan_generic camera_Fan]
pin: PB0
#cycle_time: 0.05
kick_start_time: 0.5
#### раздел моторов, не знаешь не трогай! потрогал, не плачь!
[stepper_x]
step_pin: PE3
dir_pin: !PE2
enable_pin: !PE4
microsteps: 16
rotation_distance: 20
endstop_pin: !PA15
position_endstop: 1
position_max: 255
homing_speed: 40

[stepper_y]
step_pin: PE0
dir_pin: !PB9
enable_pin: !PE1
microsteps: 16
rotation_distance: 20
endstop_pin: !PD2
position_endstop: 1
position_max: 220
homing_speed: 40

[stepper_z]
step_pin: PB5
dir_pin: !PB4
enable_pin: !PB8
microsteps: 32
rotation_distance: 8
endstop_pin: !PC8
position_endstop: 0.5
homing_speed: 10
second_homing_speed: 2
position_min: -20
position_max: 200

[extruder]
step_pin: PD6
dir_pin: PD3
enable_pin: !PB3
microsteps: 32
rotation_distance: 15.632
max_extrude_only_distance: 1400.0
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PE5
sensor_type: ATC Semitec 104GT-2
#sensor_type: Generic 3950 # если меняли на 3950 закомментируй строчку выше, раскомментриуй эту
sensor_pin: PC1
control: pid
pid_Kp: 14.669
pid_Ki: 0.572
pid_Kd: 94.068
min_temp: 0
max_temp: 320

[heater_bed]
heater_pin: PA0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC0
control: pid
pid_Kp: 71.783
pid_Ki: 1.977
pid_Kd: 651.428
min_temp: 0
max_temp: 130
#### кулер обдува модели
[fan]
pin: PB1
#off_below: 0.25
#shutdown_speed: 0.0
##### кулера обдува платы и обдува хотенда. 
[heater_fan nozzle_fan]
pin: PC14
#kik_start_time: 0.1
shutdown_speed: 1.0
heater: extruder
heater_temp: 50
fan_speed: 1.0
#### выключение по простою, по мне так не очень нужно поэтому задокументировано. 
#[idle_timeout]
#timeout: 1200
#gcode:
#  M84
#  SHUTDOWN_MACHINE
#### датчики различных температур. можно поменять название, главное вместо пробелов поставить подчеркивание
[temperature_sensor orange_pi]
sensor_type: temperature_host
min_temp: 10
max_temp: 100


#Если у вас красная плата  Robin Nano4 3.2 то вам надо закоментировать следующий раздел!

[temperature_sensor mcu_temp]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100



## без нужды не трогать, дальше сами знаете...
[safe_z_home]
home_xy_position: 1,1                                                       # CAUTION! Depends on probe X/Y offset
z_hop: 10
move_to_previous: True                                                       # Return back ~X0/Y0 after Z0 at center
z_hop_speed: 20
speed: 200
####  регулировка откатов здесь. если вы заменили стоковое горло  то оставляйте так,
####   если заменили шестерню и\или деталь фидера, продолжайте настройку, можно лучше, но ненамного
[firmware_retraction]
retract_length: 0.8
retract_speed: 25
unretract_extra_length: 0
unretract_speed: 25

# исключение обьектов, прикольная вещь, в куре достаточно отключить комбинг чтоб работало ну и  Должно еще быть прописано в moonracker.cfg вот это: [file_manager] enable_object_processing: True. 
[exclude_object]
#### раздел подключения платы, сюда пишем результат команды ls /dev/serial/ после прочтения мануалов конечно же.
[mcu]
#serial: /dev/ttyS3  ### расскоментируйте если подключены по юарт
serial: /dev/serial/by-path/platform-5101400.usb-usb-0:1:1.0 # если подключили по юарт в начале этой строки поставьте #
restart_method: command
#### а вот сюда вообще не надо лезть. как разберетесь лезьте на здоровье, но я предупредил)
[printer]
kinematics: corexy
max_velocity: 400
square_corner_velocity: 5.0
max_accel: 8000
max_accel_to_decel: 4000
max_z_velocity: 25
max_z_accel: 100
### регулировка положения стола
[bed_screws] # BED_SCREWS_ADJUST
screw1: 28,31
screw1_name: front left screw
screw2: 228,31
screw2_name: front right screw
screw3: 228,181
screw3_name: back right screw
screw4: 28,181
screw4_name: back left screw
speed: 150


#### местонахождение файлов кода, лучше не менять. иногда к таким глюкам приводит, ну его... 
[virtual_sdcard]
path: ~/printer_data/gcodes # если вылазит ошибка virtual_sdcard .. то это здесь, поменяйте как вам написано в подсказке)
## макросы на первое время. очень нужные.)
[pause_resume]

[display_status]

[gcode_macro SHUTDOWN_MACHINE]

gcode:
    {action_call_remote_method("shutdown_machine")}

[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
gcode:
    SAVE_GCODE_STATE NAME=PAUSE_state
    BASE_PAUSE
    {% set X = params.X|default(10) %}
    {% set Y = params.Y|default(10) %}
    {% set E = params.E|default(2) %}
    {% set Z = params.Z|default(150) %}
    G91
    G1 E-{E} F2100
    G1 Z{Z}
    G90
    G1 X{X} Y{Y} F6000

[gcode_macro RESUME]
rename_existing: BASE_RESUME
gcode:
    {% set E = params.E|default(2) %}
    G91
    G1 E{E} F2100
    G90
    RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1
    BASE_RESUME

[gcode_macro CANCEL_PRINT]
rename_existing: BASE_CANCEL_PRINT
gcode:
    TURN_OFF_HEATERS
    CLEAR_PAUSE
    SDCARD_RESET_FILE
    BASE_CANCEL_PRINT
    M106 S0
    G91
    G1 Z5
    G90
    G1 X5 Y105
    M84

[gcode_macro PID_E]
gcode:
  {% set T = params.T|default(255) %}
  PID_CALIBRATE HEATER=extruder TARGET={T}

[gcode_macro PID_B]
gcode:
  {% set T = params.T|default(80) %}
  PID_CALIBRATE HEATER=heater_bed TARGET={T}

